package com.yunti.business.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.SqlParser;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 学生对象 base_student
 *
 * @author ruoyi
 * @date 2024-04-30
 */
@Data
@SqlParser(filter = true)
public class BaseStudent extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 学生ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Excel(name = "ID号")
    private Long id;

    /**
     * 学校ID
     */

    @Excel(name = "学校ID")
    private Long schoolId;

    @TableField(exist = false)
    @Excel(name = "学校名称")
    private String schoolName;


    /**
     * 赛中编号
     */
    @Excel(name = "学校中序号")
    private String no;

    /**
     * 头像路径
     */
    @Excel(name = "头像路径")
    private String avatarSrc;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 学号
     */
    @Excel(name = "学号")
    private String stuNo;

    /**
     * 班级名
     */
    @Excel(name = "班级名")
    private String className;

    /**
     * 民族
     */
    @Excel(name = "民族")
    private String nation;

    /**
     * 性别
     */
    @Excel(name = "性别", readConverterExp = "0=男,1=女,2=未知")
    private Integer sex;

    /**
     * 出生年月
     */
    @Excel(name = "出生年月")
    private String birth;

    /**
     * 生源地
     */
    @Excel(name = "生源地")
    private String birthPlace;

    /**
     * 身份证号
     */
    @Excel(name = "身份证号")
    private String cardId;

    /**
     * 通讯地址
     */
    @Excel(name = "通讯地址")
    private String mailAddress;

    /**
     * 手机号码
     */
    @Excel(name = "手机号码")
    private String mobile;

    /**
     * 一级确认
     */
    @Excel(name = "一级确认")
    private Integer oneConfirm;

    /**
     * 一级确认时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "一级确认时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date oneConfirmTime;

    /**
     * 二级确认
     */
    @Excel(name = "二级确认")
    private Integer twoConfirm;

    /**
     * 二级确认时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "二级确认时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date twoConfirmTime;

    private Long raceId;
}
